package com.zwan.oam_rtc.utils.messages;

import java.nio.ByteBuffer;

import com.zwan.oam_rtc.utils.wintcp.ByteTransfer;



public class TMTSResp extends AbstractStruct {

//	// MTS响应消息 MTS-->other
//	typedef struct 
//	{ 
//	  char	  szSequenceID[20];            // 流水号
//	  char	  szConvertResultFlag[2];      // 转换成功失败标志，成功0，失败1，部分失败2
//	  char	  szConvertSuccessNum[3];      // 转换成功个数，拆分某个文件片段失败，不计入结果文件的个数
//	  char	  szConvertResultFileSize[40]; // 转换结果文件大小，如拆分多个文件，用"|"分隔文件的大小，单位为KB 
//	  char	  szConvertConsumeTime[6];     // 转换时长，不包含在队列中等待的时间，单位为：毫秒
//	  char	  szReserve1[2];               // 保留字段，
//	  char	  szReserve2[20];              // 保留字段2，
//	}TMTSResp;
	
	private byte[] szSequenceID            = new byte[20];
	private byte[] szConvertResultFlag     = new byte[2];
	private byte[] szConvertSuccessNum     = new byte[3];
	private byte[] szConvertResultFileSize = new byte[40];
	private byte[] szConvertConsumeTime    = new byte[6];
	private byte[] szReserve1              = new byte[2];
	private byte[] szReserve2              = new byte[20];
	
	
	@Override
	public void writeToBuffer(ByteBuffer bf) {
		bf.put(szSequenceID           );
		bf.put(szConvertResultFlag    );
		bf.put(szConvertSuccessNum    );
		bf.put(szConvertResultFileSize);
		bf.put(szConvertConsumeTime   );
		bf.put(szReserve1             );
		bf.put(szReserve2             );		
	}

	@Override
	public void readFromBuffer(ByteBuffer bf) {
		bf.get(szSequenceID            );
		bf.get(szConvertResultFlag     );
		bf.get(szConvertSuccessNum     );
		bf.get(szConvertResultFileSize );
		bf.get(szConvertConsumeTime    );
		bf.get(szReserve1              );
		bf.get(szReserve2              );
	}

	@Override
	public int getLength() {
		return 93;
	}

	public String getSequenceID(){
		return ByteTransfer.byte2Str(szSequenceID);
	}
	
	public String getConvertResultFlag(){
		return ByteTransfer.byte2Str(szConvertResultFlag);
	}
	
	public String getConvertSuccessNum(){
		return ByteTransfer.byte2Str(szConvertSuccessNum);
	}
	
	public String getConvertResultFileSize(){
		return ByteTransfer.byte2Str(szConvertResultFileSize);
	}
	
	public String getConvertConsumeTime(){
		return ByteTransfer.byte2Str(szConvertConsumeTime);
	}
	
	public String getReserve1(){
		return ByteTransfer.byte2Str(szReserve1);
	}
	
	public String getReserve2(){
		return ByteTransfer.byte2Str(szReserve2);
	}
}
